// 读取三个文件内容，并将内容连接
const fs = require('fs')


// 传统的方式会造成回调地狱问题，而且也必须每层都要进行错误判断
/* fs.readFile('./1async函数.html', (err, data1) => {
    if (err) throw err
    fs.readFile('./2await函数.html', (err, data2) => {
        if (err) throw err
        fs.readFile('./3async与await结合.js', (err, data3) => {
            if (err) throw err
            console.log(data1 + data2 + data3)
        })
    })
}) */

const util = require('util')
const myReadFile = util.promisify(fs.readFile)

// 使用async 与 await
async function main() {
    // 读取第一个文件内容,想要捕获读取文件时可能抛出的异常，使用try-catch
    try {

        let data1 = await myReadFile('./1async函数.html')
        let data2 = await myReadFile('./2await函数.html')
        let data3 = await myReadFile('./3async与await结合.js')
        console.log(data1 + data2 + data3)
    } catch (e) {
        console.log(e)
    }
}

main()